﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using DTO;
namespace DAL
{

        public class NhanVienDAO
        {
            dataHelpper da = new dataHelpper();

            #region"Khởi Tạo Kết nối"
            public SqlConnection khoitaoKN()
            {
                SqlConnection conn = new SqlConnection();
                conn = dataHelpper.taoKN();
                return conn;
            }
            #endregion
            #region ""Phat sinh Mã Nhân viên"
            public string Phatsinh_manv()
            {
                string manv = "NV";
                string sql = "select max(id)+1 from nhanvien";
                int temp = (int)da.ExecuteCalar(sql);
                manv += temp.ToString();
                return manv;
            }
            #endregion
            #region " Thêm Nhân Viên"
            public void themNhanVien(NhanVienDTO NV)
            {
                //da.Mo_KN();
                string sql = "insert into nhanvien(manv,hoten, ngaysinh, diachi, dienthoai, bangcap,mabophan,machucvu) values(";
                sql += "'" + NV.Manv + "',";
                sql += "'" + NV.Tennv + "',";
                sql += "'" + NV.Ngaysinh + "',";
                sql += "'" + NV.Diachi + "',";
                sql += "'" + NV.Dienthoai + "',";
                sql += "'" + NV.Bangcap + "',";
                sql += "'" + NV.Mabophan + "',";
                sql += "'" + NV.Machucvu + "')";
                da.truyvan(sql);
                // da.Dong_KN();
            }
            #endregion
            #region "Xóa Nhân Viên"
            public void xoaNhanVien(NhanVienDTO NV)
            {
                //da.Mo_KN();
                string sql = "delete from nhanvien where manv='" + NV.Manv + "'";
                da.truyvan(sql);
                //da.Dong_KN();
            }
            #endregion
            #region " Sửa thông tin nhân viên"
            public void Sua_NhanVien(NhanVienDTO NV)
            {
                // da.Mo_KN();
                string sql = "update nhanvien set hoten='N" + NV.Tennv + "',";
                sql += "ngaysinh ='" + NV.Ngaysinh + "', ";
                sql += "diachi='" + NV.Diachi + "',";
                sql += "DienThoai='" + NV.Dienthoai + "',";
                sql += "BangCap='" + NV.Bangcap + "',";
                sql += "MaBoPhan='" + NV.Mabophan + "',";
                sql += "Machucvu= '" + NV.Machucvu + "' ";
                sql += "where manv='" + NV.Manv + "' ";
                da.truyvan(sql);
                // da.Dong_KN();
            }
            #endregion
            #region "Tra cứu Thông Tin nhân Viên"
            public DataSet  TimKiemTheoMaNV(string manv)
            {
                string sql = "select nv.manv as 'Mã Nhân Viên', nv.hoten as 'Họ Và Tên', nv.ngaysinh as 'Ngày Sinh',";
                sql+="nv.diachi as 'Địa Chỉ' , nv.dienthoai as 'Điện Thoại Liên Lạc',";
                sql+="nv.bangcap as ' Bằng Cấp',cv.tenchucvu as 'Chức Vụ', bp.tenbophan as 'Bộ Phận Làm Việc' ";
                sql+="from nhanvien nv, bophan bp, chucvu cv ";
                sql+= "where manv like '%" + manv + "%'";
                sql += "and nv.machucvu=cv.machucvu and nv.mabophan=bp.mabophan";
                return da.HienThi(sql);
            }

            public DataSet TimKiemTheoTen(string tennv)
            {
                string sql = "select nv.manv as 'Mã Nhân Viên', nv.hoten as 'Họ Và Tên', nv.ngaysinh as 'Ngày Sinh',";
                sql += "nv.diachi as 'Địa Chỉ' , nv.dienthoai as 'Điện Thoại Liên Lạc',";
                sql += "nv.bangcap as ' Bằng Cấp',cv.tenchucvu as 'Chức Vụ', bp.tenbophan as 'Bộ Phận Làm Việc' ";
                sql += "from nhanvien nv, bophan bp, chucvu cv ";
                sql+= "where hoten like'%" + tennv + "%' ";
                sql += "and nv.machucvu=cv.machucvu and nv.mabophan=bp.mabophan";
                return da.HienThi(sql);

            }
            //public DataTable TimTheoNgaySinh(NhanVienDTO NV)
            //{
            //    string sql = "select * from nhanvien ngaysinh ngaysinh between '#"++"#'";
            //}
            public DataSet TimtheoNamSinh(int tu, int den)
            {
                string sql = "select nv.manv as 'Mã Nhân Viên', nv.hoten as 'Họ Và Tên', nv.ngaysinh as 'Ngày Sinh',";
                sql += "nv.diachi as 'Địa Chỉ' , nv.dienthoai as 'Điện Thoại Liên Lạc',";
                sql += "nv.bangcap as ' Bằng Cấp',cv.tenchucvu as 'Chức Vụ', bp.tenbophan as 'Bộ Phận Làm Việc' ";
                sql += "from nhanvien nv, bophan bp, chucvu cv ";
                sql+= " where year(ngaysinh) between "+tu+" and "+den+"";
                sql += "and nv.machucvu=cv.machucvu and nv.mabophan=bp.mabophan";
                return da.HienThi(sql);
            }

            #endregion
            #region"Hien Thi Bảng Nhân viên"
            public DataSet  HienThi_DSNV()
            {
                // da.Mo_KN();
                string sql = "select nv.manv as 'Mã Nhân Viên', nv.hoten as 'Họ Và Tên',";
                sql+="nv.ngaysinh as 'Ngày Sinh', nv.diachi as 'Địa Chỉ' , nv.dienthoai as 'Điện Thoại Liên Lạc',";
                sql+="nv.bangcap as ' Bằng Cấp',cv.tenchucvu as 'Chức Vụ', bp.tenbophan as 'Bộ Phận Làm Việc'";
                sql+="from nhanvien nv, bophan bp, chucvu cv ";
                sql += "where nv.machucvu=cv.machucvu and nv.mabophan=bp.mabophan";
                return da.HienThi(sql);
                // da.Dong_KN();
            }
            #endregion
            ///------------code thu Excel---ko dc xoa-------------
            ///
            #region "Ket Noi Excel"
            

        }
    }
            #endregion